Dalvik Virtual Machine

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Dalvik Virtual Machine
Basisdaten

Entwickler Dan Bornstein
Betriebssystem Android
Kategorie Virtuelle Maschine
Lizenz Apache-Lizenz 2.0
source.android.com/devices/tech/dalvik/

Dalvik Virtual Machine, abgekürzt auch Dalvik VM oder DVM genannt, ist eine für mobile Geräte vorgesehene virtuelle Ausführungsumgebung in Form einer sogenannten Registermaschine. Sie ist ein Hauptbestandteil des Android-Betriebssystems in den Android-Versionen bis zu 4.x und wurde unter der Apache-Lizenz 2.0 veröffentlicht.[1] Ab der Android-Version 5.0 wurde Dalvik durch den Ahead-of-time-Compiler Android Runtime (ART) ersetzt.

Dalvik führt Software, die für eine Java Virtual Machine (JVM) übersetzt wurde, nach entsprechender Konvertierung in seinem eigenen Bytecode-Format aus. Die DVM wurde so entworfen, dass sie, ebenso wie moderne Prozessoren (z. B. ARM-Mikroprozessoren), Registermaschinencode verarbeiten kann und daher ressourcenschonend und schnell ist.[2] Dies ist notwendig, da Android für jedes Programm bzw. jeden Prozess eine eigene Dalvik-VM erzeugt.[3] Diese Registermaschine ist der Hauptunterschied zur JVM, die auf einem Kellerautomaten basiert.

Ein bedeutsamer Teil der Android-Entwicklungsumgebung (SDK) ist das Programm dx, das die Konvertierung herkömmlicher Java-Binärdateien (.class) in das Dalvik Executable-Format (.dex) durchführt. Dabei werden mehrere .class-Dateien zu einer .dex-Datei zusammengefasst und einige Optimierungen bezüglich des Speicherbedarfs vorgenommen.

Entwickelt wurde Dalvik vom Google-Mitarbeiter Dan Bornstein. Er benannte sie nach der isländischen Stadt Dalvík. Entgegen landläufiger Meinung kommt von dort jedoch keiner seiner Vorfahren, stattdessen war es ein Urlaubsort, den er attraktiv fand.[4]

Dalvik nutzt Just-in-time-Kompilierung.

Die Firma Oracle, die Anfang 2010 mit der Übernahme von Sun Microsystems[5] auch die Rechte an Java übernahm, beschuldigte Google, mit der Entwicklung der Dalvik-VM Patente und Urheberrechte von Java verletzt zu haben. Oracle reichte am 12. August 2010 Klage gegen Google ein.[6] Im Mai 2012 wurde der Streit beigelegt, nachdem sowohl die Jury als auch der Richter befunden hatten, dass seitens Google kein rechtswidriges Verhalten stattgefunden habe. Im Jahr 2018 entschied ein Berufungsgericht zugunsten von Oracle. Im April 2021 kippte der Supreme Court in Washington diese Entscheidung, mit der Begründung, dass Googles Vorgehen vielmehr eine sogenannte angemessene Verwendung der Software darstelle.[7] Mit dieser Entscheidung ist der Rechtsstreit beendet.[8]

Dalvik Turbo virtual machine

[Bearbeiten | Quelltext bearbeiten]

Dalvik Turbo virtual machine ist eine alternative Implementierung durch den Schweizer Softwarehersteller Myriad Group. Die Software wurde von MIPS Technologies/Imagination Technologies für ihre MIPS-Architektur lizenziert.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Archivlink (Memento vom 17. April 2009 im Internet Archive). Abgerufen am 2. April 2024.
  2. http://www.scribd.com/doc/28170469/Android-Grundlagen-und-Programmierung
  3. http://developer.android.com/guide/basics/what-is-android.html
  4. Journal entry (Memento vom 1. Februar 2014 im Internet Archive). Abgerufen am 2. April 2024.
  5. heise online: EU-Kommission gibt Oracle grünes Licht für Sun-Übernahme
  6. heise online: Oracle klagt gegen Google wegen Patent- und Urheberrechtsverletzung
  7. Google siegt im Streit mit Oracle - Milliarden-Prozess um Java-Code. In: Der Spiegel. 5. April 2021, ISSN 2195-1349 (spiegel.de [abgerufen am 7. November 2022]).
  8. https://www.panitchlaw.com/oracle-v-google-the-never-ending-case-finally-ends/ Panitch Schwarze: "Oracle v. Google: The Never-Ending Case Finally Ends" (engl.)